package com.zz.controller;

import com.zz.dto.NurseResult;
import com.zz.pojo.Nurse;
import com.zz.service.NurseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Map;

/**
 * Copyright Zz
 * FileName: NurseController
 * Author:   Zz
 * Date:     2023/6/1014:49
 * Description:护士表控制层
 * hISTORY:
 * <author>  <time>     <version>    <desc>
 * 作者姓名   修改时间       版本号       描述
 */
@Controller
@RequestMapping("Nurse")
public class NurseController {

    @Autowired
    private NurseService nurseService;

    /**
     * 分页查询护士信息
     * @param map startIndex:起始下表 pageSize:页面大小
     * @return 分页查询的护士信息
     */
    @ResponseBody
    @GetMapping("queryNurseList")
    public NurseResult queryNurseList(@RequestParam Map<String,Integer> map){
        return nurseService.queryNurseList(map);
    }

    /**
     * 通过传入信息查询相关护士信息
     * @param map 模糊查询的信息
     * @return 相关的护士信息
     */
    @ResponseBody
    @GetMapping("queryNurseByKey")
    public NurseResult queryNurseByKey(@RequestParam Map<String,Object> map){
        return nurseService.queryNurseByKey(map);
    }

    /**
     * 增加护士
     * @param nurse 新的护士信息
     * @return 增加记录条数（1-成功 0-失败，2-主键重复）
     */
    @ResponseBody
    @PostMapping("insertNurse")
    public int insertNurse(@RequestBody Nurse nurse){
        return nurseService.insertNurse(nurse);
    }

    /**
     * 更新护士信息
     * @param nurse 更新后的护士信息
     * @return 修改记录条数 （1-成功 0-无此护士）
     */
    @ResponseBody
    @PutMapping("updateNurse")
    public int updateNurse(@RequestBody Nurse nurse){
        return nurseService.updateNurse(nurse);
    }

    /**
     * 删除护士
     * @param ID 护士工号
     * @return 删除记录条数（1-成功 0-无此护士）
     */
    @ResponseBody
    @DeleteMapping("deleteNurse")
    public int deleteNurse(@RequestBody String ID){
        return nurseService.deleteNurse(ID);
    }
}
